package com.balloon.mall.controller;


import com.balloon.mall.comm.ResultVO;
import com.balloon.mall.comm.ResultVOUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;


/**
 * @author liaofuxing
 * @date 2019/03/08 2:40
 */
@Controller
@RequestMapping("/commodity")
public class TestController {


//    /**
//     * 生成代码
//     *
//     * @param request         request
//     * @param response        response
//
//     */
//    @PostMapping("/testcs")
//    @ResponseBody
//    public void testcs(HttpServletRequest request, HttpServletResponse response) throws IOException {
//        String s = "文档";
//        String s1 = new String(s.getBytes(StandardCharsets.UTF_8), "ISO8859-1");
//        String filePath = "H:\\test\\文档.txt";
//        File file = new File(filePath);
//        FileInputStream fis = null;
//        BufferedInputStream bis = null;
//        if (file.exists()) {
//            // 设置强制下载不打开
//            response.setHeader("Content-Disposition", "attachment;filename=" +s1+".txt");
//            byte[] buffer = new byte[1024];
//
//            try {
//                fis = new FileInputStream(file);
//                bis = new BufferedInputStream(fis);
//                int i = bis.read(buffer);
//                while (i != -1) {
//                    response.getOutputStream().write(buffer, 0, i);
//                    i = bis.read(buffer);
//                }
//                response.flushBuffer();
//            } catch (IOException ioe) {
//                ioe.printStackTrace();
//            } finally {
//                assert fis != null;
//                fis.close();
//                assert bis != null;
//                bis.close();
//            }
//        }
//    }

//    /**
//     * 生成代码
//     *
//     * @param response        response
//
//     */
//    @PostMapping("/testcs")
//    @ResponseBody
//    public void downloadForIts(@RequestBody Usss usss, HttpServletResponse response) throws IOException {
//        System.out.println(usss);
//        String s = "http://10.50.11.10:9090/css/6s%E8%A1%A8.xlsx?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=minioadmin%2F20220720%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220720T115437Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=b1e47b533da5ab61d98b631d6b40273b34f179567dc1fff381ea123d2f341fec";
//        URL url = new URL(s);
//        HttpURLConnection conn = (HttpURLConnection)url.openConnection();
//        InputStream fis = conn.getInputStream();
//
//        String filePath = "H:\\test\\276985.mp4";
//        File isFile = new File(filePath);
//
//        response.setHeader("Content-disposition", "attachment;filename=1.xlsx");
////        BufferedInputStream bis = null;
////        BufferedOutputStream bos = null;
////        FileInputStream fis = null;
//        BufferedInputStream bis = null;
//        try {
//            byte[] buffer = new byte[1024];
////            fis = new FileInputStream(isFile);
//            bis = new BufferedInputStream(fis);
//            int i = bis.read(buffer);
//            while (i != -1) {
//                response.getOutputStream().write(buffer, 0, i);
//                i = bis.read(buffer);
//            }
//            response.flushBuffer();
//        } catch (IOException e) {
//            e.printStackTrace();
//        } finally {
//                assert fis != null;
//                fis.close();
//                assert bis != null;
//                bis.close();
//            }
//    }

    /**
     * 生成代码
     *
     * @param response        response

     */
    @PostMapping("/testcs")
    @ResponseBody
    public ResultVO<Usss> testcs(@RequestBody Usss usss) throws IOException {
        return ResultVOUtils.success(usss);
    }

//    /**
//     * feign的实例方法
//     *
//     * @param id
//     * @return
//     */
//    @GetMapping("/findSystemUserById")
//    @ResponseBody
//    public ResultVO<SystemUser> findSystemUserById(@RequestParam Integer id){
//
//        return systemClient.findSystemUserById(id);
//    }
//
//    /**
//     *
//     * 这是一个Feign示例方法
//     *
//     * Feign调用必须是全路径,而不是方法上的路径 (/systemUser/api/findSystemUserById)
//     * @param systemUserInfo
//     * @return
//     */
//    @PostMapping("/findSystemUser")
//    @ResponseBody
//    public ResultVO<SystemUser> findSystemUser(@RequestBody SystemUser systemUserInfo) {
//        try {
//            return systemClient.findSystemUser(systemUserInfo);
//        } catch (Exception e) {
//            throw new ExceptionUtils(ExceptionEnums.SYSTEM_EXCEPTION);
//        }
//    }
//
//    /**
//     *  查询所有商品
//     *  @return
//     */
//    @GetMapping("/findCommodityAll")
//    @ResponseBody
//    public ResultVO<List<CommodityInfo>> findCommodityAll() {
//        try {
//            List<CommodityInfo> resultVO = commodityService.findCommodityAll();
//            return ResultVOUtils.success(resultVO);
//        } catch (Exception e) {
//            e.printStackTrace();
//            throw new ExceptionUtils(ExceptionEnums.SYSTEM_EXCEPTION);
//        }
//    }
//
//    /**
//     *  上传文件实例
//     *  @return
//     */
//    @PostMapping("/upload")
//    @ResponseBody
//    public ResultVO<String> findCommodityAll(@RequestParam("file") MultipartFile file) {
//        UploadUtils uploadUtils = new UploadUtils();
//        String result;
//        try {
//            result = uploadUtils.upload(file);
//            return ResultVOUtils.success(result);
//        } catch (Exception e) {
//            e.printStackTrace();
//            throw new ExceptionUtils(ExceptionEnums.SYSTEM_EXCEPTION);
//        }
//    }

}
